A charcoal app icon shape surrounded by faint concentric guide circles

What shipping a Mac app alone taught me

Feb 9, 2026 8 min

I released Ridge in the spring of 2025 and have shipped forty-one updates since. It is a small thing — a menu bar app that shows you the weather where you are about to be, rather than where you are — and building it alone taught me more about product than five years of design reviews did.

The icon took three weeks and was worth it

I am aware of how that sounds. But the icon is the entire interface for most of the day. It sits in a crowded menu bar next to a dozen others, at sixteen points, in both appearances, and it either reads instantly or your app is invisible.

Three weeks of drawing something that works at sixteen points was the highest-leverage design work in the whole project, and it is the only design work nobody has ever commented on.

Nobody finds settings

I shipped with a preferences window containing eleven options, which I was quietly proud of. Six months of support email later I learned that roughly nobody had opened it.

The features people asked me for were, in nine cases out of ten, already there. So I did the thing I had been avoiding and cut the window to four options, made the other seven behave sensibly on their own, and the support email dropped by about two thirds.

An option is a decision you have failed to make, handed to somebody with less context than you.

Launch is not a day

I spent a fortnight on the launch and about ninety seconds thinking about the fortnight after it. The launch brought a spike; the spike left. What actually grew the thing was a slow, boring trickle of people who found it because somebody mentioned it in a reply, eleven months later.

If I did it again I would spend the launch fortnight on the onboarding instead.

The support inbox is the research

Every email I answered personally taught me something no analytics dashboard was going to. The best feature in the app — the one that shows the weather at your next calendar location — came from one person's throwaway sentence at the end of a bug report.

I still answer every one. It is the single least scalable thing I do, and I have no plans to stop.